<template>
  <div class="container">
    <h2>name: {{ name }} age: {{ age }}</h2>
    <button @click="updateName">修改数据</button>
  </div>
</template>
<script>
import { isRef, reactive, ref, toRef } from 'vue'
export default {
  name: 'App',
  setup() {
    const obj = reactive({
      name: 'ifer',
      age: 10,
      address: '河南',
      sex: '男',
    })
    // 问题 1：模板中都要使用 obj. 进行获取数据，麻烦。
    // 问题 2：明明模板中只用到了 name 和 age，却把整个 obj 进行了导出，没必要，性能浪费。
    // 用 ref 解决上面的两个问题和 toRef 的区别是什么：ref 是非关联的
    const name = ref(obj.name)
    const age = ref(obj.age)

    const updateName = () => {
      // name.value = 'xxx'
      obj.name = 'xxx'
    }
    
    return { name, age, updateName }
  },
}
</script>